草庐IT

c++ - WinAPI DestroyWindow 不工作

全部标签

c++ - 构建的 ffmpeg.exe 没有按预期工作

在我的C++应用程序中,我想静态使用ffmpeg库。我下载了ffmpeg-3.4.1源并使用MINGW、Yasm和VS2015命令提示符构建了静态链接的ffmpeg,如下所示,下载了msys2-x86_64-20161025.exe打开MINGW命令提示符后,使用命令“pacman-Smakegccdiffutils”安装所需的gcc工具将C:\msys64\usr\bin\link.exe重命名为C:\msys64\usr\bin\link_orig.exe下载yasm32位exe并将其路径设置为PATH环境变量。("%PATH%;D:\ffmpeg")运行VS2015,打开MING

c - 如何通过命令提示符更改标题并保留系统信息

我试图通过命令行启动一个进程,但是当我对cmd使用/k选项时,我丢失了所有系统信息。我如何保存这些信息,是否有一个可能的环境变量,我可以更改它来更改标题。//firstlinewhereIsprintfcommandsintoabuffersprintf(commandLine_buf,"%s/T:F9/KTITLE=Whatisyourcommand",getenv("ComSpec"))@erksun感谢您的建议有效。我对其进行了一些修改,但它起作用了。这就是它的样子。下面sprintf(commandLine_buf,"cmd/cPROMPTSpeaktome$G&TITLEWh

无法在 cygwin 中使用 libusb-1.0 打开 USB 设备

我正在尝试使用cygwin中的libusb-1.0与USB外围设备连接。libusb_get_device_list(...)工作正常,我得到了USB设备列表。它在设备列表中找到具有正确VendorID和ProductID的设备,但是当使用该设备调用libusb_open(...)时,它总是失败并显示错误代码LIBUSB_ERROR_NOT_FOUND.我不认为这是权限问题,我试过以管理员身份运行它,并且有一个单独的错误代码(LIBUSB_ERROR_ACCESS)。此相同代码适用于Linux中的libusb-1.0。unsignedinit_usb(intvendor_id,intp

windows - Windows docker 容器上的 Chrome 无法正常工作

我正在尝试在docker容器上运行GoogleChrome。此docker容器基于microsoft/windowsservercore:ltsc2016。我想使用docker容器来构建AngularCLI-App。因此,我需要在GoogleChrome中运行我的测试(带有:-headless标志)。使用Chrome运行测试对我来说是一项新功能,因为我的Angular-Apps不是基于AngularCLI结构并且测试是使用PhantomJS执行的。我已经更新了我的整个Angular项目以适应AngularCLI结构,因为我希望它们基于标准的Angular方式。所以我尝试使用Chrome

c - 在 C++ 程序中指定路径

我正在用C语言为Windows编写一个Java启动器,它针对位于我程序目录中的Java运行时环境启动(即随我的程序一起分发)。我有有效的代码(在下面指定),但它需要jvm.dll位于其%PATH%中以便执行。我想在我的代码中添加一行,告诉程序checkin/jre/bin/server对于jvm.dll,因此只需双击即可运行可执行文件。现在当我运行它时,它说“该程序无法启动,因为您的计算机缺少jvm.dll。请尝试重新安装该程序以解决此问题。”如果我将我的简单可执行文件移动到jre\bin\server其中jvm.dll驻留并尝试运行它,它有效。所以我只需要告诉我的程序在其他特定位置搜

c++ - 对 SetThreadErrorMode()、SetErrorMode()、_set_error_mode() 和 _CrtSetReportMode() 的混淆

我有一个用C++编写并使用VisualStudio2015编译的命令行应用程序。我需要确保此应用程序在自动、无人值守的功能测试期间不会被错误对话框阻止,特别是在断言失败的情况下(标准assert()来自)。我最初认为https://stackoverflow.com/a/6925695/393756中建议的以下调用会做这项工作,但它没有:_set_error_mode(_OUT_TO_STDERR);通过试验,我最终发现以下代码达到了预期的效果,至少在涉及到失败的断言对话框时:SetErrorMode(SEM_FAILCRITICALERRORS|SEM_NOGPFAULTERRORB

c - 将入口点更改为PE文件中新添加的shellcode段后,如何恢复主进程?

我试图通过在PE文件末尾添加一个额外的节头并在其中编写shellcode来进行PE感染。我已经添加了额外的部分并在其中编写了shellcode,并将原始入口点(OEP)更改为新添加的部分并且它执行得很好;我的意思是我的shellcode运行良好,但现在我想恢复主进程,为此我需要再次将修改后的入口点更改为OEP。但是,我无法弄清楚。请告诉我是否有任何方法可以在执行shellcode后恢复主进程。而且,我也试过这个blog,但它也不起作用,因为作者编写了内联汇编代码并放置了一些占位符以在运行时恢复OEP,这将动态嵌入到shellcode中。我正在考虑编写一个包含JMPto_OEP的shel

c++ - Makefile 在 Linux 下工作但在 Windows 下不工作,无法在子目录中找到文件

我有一个在linux下工作的makefile(gnumake),但是当把它移植到windows时它不工作。makefile的目标是制作位于不同子目录中的所有*.cpp文件,并将它们编译成单个BUILD_DIR中的*.obj文件。在linux和windows之间我只调整了SOURCES变量,显示了linux行但注释了。当我检查所有名称和目录时,它们显示相同的(它们的透视表示法中的相对路径)和我所期望的。我在Windows上收到的“错误消息”是:make:***Noruletomaketarget'DEM.cpp',neededby'DEM.obj'。停止。在Debug模式下它说:文件“D

windows - ColdFusion 服务器监控 - 不工作

我正在尝试在运行ColdFusion8(版本8,0,0,176276)的WindowsServer2003(网络版)机器上启动ColdFusion服务器监视器。它以独立配置运行。弹出窗口启动为http://www.mydomain.com/CFIDE/administrator/monitor/launch-monitor.cfm.但是,我得到一个Flash对话框,然后出现错误信息“ColdFusion服务器不可用”。对话框还有一个地方可以填写服务器详细信息(例如端口号和用户名/密码)。所有这些信息似乎都是有序的,并且错误消息再次与它有关,认为ColdFusion没有运行。明明CF服务

c - Win32 : Returning a minimized and hidden window to top

在wndproc中将窗口“最小化”到托盘后,我无法恢复窗口:caseWM_SIZE:if(wparam==SIZE_MINIMIZED){ShowWindow(hwnd,SW_HIDE);}break;托盘消息处理程序如下所示:caseTRAY_ICON_MESSAGE:switch(lparam){caseWM_LBUTTONDOWN:ShowWindow(hwnd,SW_RESTORE);BringWindowToTop(hwnd);SetFocus(hwnd);break;//...该窗口确实会重新出现,但始终隐藏在其他窗口下方并且不会出现在顶部。SetFocus()和Bring